home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / olrdrs / bwdev201.zip / BLUEWAVE.INC < prev    next >
Text File  |  1994-01-18  |  50KB  |  877 lines

  1. (*****************************************************************************)
  2. (*                                                                           *)
  3. (*           The Blue Wave Offline Mail System Packet Structures             *)
  4. (*     Copyright 1990-1994 by George Hatchew and Cutting Edge Computing      *)
  5. (*                 All rights reserved - FidoNet 1:2240/176                  *)
  6. (*                                                                           *)
  7. (*                     Last Updated - January 18, 1994                       *)
  8. (*                                                                           *)
  9. (*        ---------------------------------------------------------          *)
  10. (*            DISTRIBUTION OF THIS FILE IS LIMITED BY THE TERMS              *)
  11. (*           SPECIFIED IN THE BLUE WAVE STRUCTURE DOCUMENTATION!             *)
  12. (*        ---------------------------------------------------------          *)
  13. (*                                                                           *)
  14. (*   NOTE:  Refer to BLUEWAVE.H and the Blue Wave structure documentation    *)
  15. (*          for additional comments and information.                         *)
  16. (*                                                                           *)
  17. (*****************************************************************************)
  18.  
  19. const
  20.   PACKET_LEVEL=2;                 { Mail packet revision level  }
  21.   ORIGINAL_INF_HEADER_LEN=1230;   { Original *.INF header len   }
  22.   ORIGINAL_INF_AREA_LEN=80;       { Original *.INF area rec len }
  23.   ORIGINAL_MIX_STRUCT_LEN=14;     { Original *.MIX record len   }
  24.   ORIGINAL_FTI_STRUCT_LEN=186;    { Original *.FTI record len   }
  25.  
  26. type
  27.  
  28.  
  29. (*****************************************************************************)
  30. (* >>>>>>>>>>>>>>>>>>>>>  DOOR DATA FILE STRUCTURES  <<<<<<<<<<<<<<<<<<<<<<< *)
  31. (*****************************************************************************)
  32.  
  33.  
  34. (*
  35. **  Name of file:   *.INF
  36. **
  37. **  Description:    The *.INF file is the source of information for just about
  38. **                  everything from the host BBS, as well as definitions for
  39. **                  all of the message areas that are available to the user
  40. **                  and their status (Local, EchoMail, NetMail, Read Only,
  41. **                  etc.).
  42. **
  43. **  File format:    INF_HEADER          { only included one time!        }
  44. **                  INF_AREA_INFO       { repeated for as many msg bases }
  45. **                  INF_AREA_INFO       { as are available to the user   }
  46. **                  ...
  47. *)
  48.  
  49. inf_uflags =
  50. (
  51.   INF_HOTKEYS,          { User uses "hotkeys" in door prompts   }
  52.   INF_XPERT,            { Short menus displayed in door         }
  53.   INF_RES1,             { RESERVED -- DO NOT USE!               }
  54.   INF_GRAPHICS,         { Enable ANSI control sequences in door }
  55.   INF_NOT_MY_MAIL,      { Do not bundle mail from user          }
  56.   INF_UFLAG_RES1,       { RESERVED FOR FUTURE USE               }
  57.   INF_UFLAG_RES2,       { RESERVED FOR FUTURE USE               }
  58.   INF_UFLAG_RES3,       { RESERVED FOR FUTURE USE               }
  59.   INF_UFLAG_RES4,       { RESERVED FOR FUTURE USE               }
  60.   INF_UFLAG_RES5,       { RESERVED FOR FUTURE USE               }
  61.   INF_UFLAG_RES6,       { RESERVED FOR FUTURE USE               }
  62.   INF_UFLAG_RES7,       { RESERVED FOR FUTURE USE               }
  63.   INF_UFLAG_RES8,       { RESERVED FOR FUTURE USE               }
  64.   INF_UFLAG_RES9,       { RESERVED FOR FUTURE USE               }
  65.   INF_UFLAG_RES10,      { RESERVED FOR FUTURE USE               }
  66.   INF_UFLAG_RES11       { RESERVED FOR FUTURE USE               }
  67. );
  68.  
  69. inf_netmail_flags =
  70. (
  71.   INF_CAN_CRASH,        { Allow Crash status          }
  72.   INF_CAN_ATTACH,       { Allow File Attach messages  }
  73.   INF_CAN_KSENT,        { Allow Kill/Sent status      }
  74.   INF_CAN_HOLD,         { Allow Hold status           }
  75.   INF_CAN_IMM,          { Allow Immediate status      }
  76.   INF_CAN_FREQ,         { Allow File Request messages }
  77.   INF_CAN_DIRECT,       { Allow Direct status         }
  78.   INF_NETMAIL_RES1,     { RESERVED FOR FUTURE USE     }
  79.   INF_NETMAIL_RES2,     { RESERVED FOR FUTURE USE     }
  80.   INF_NETMAIL_RES3,     { RESERVED FOR FUTURE USE     }
  81.   INF_NETMAIL_RES4,     { RESERVED FOR FUTURE USE     }
  82.   INF_NETMAIL_RES5,     { RESERVED FOR FUTURE USE     }
  83.   INF_NETMAIL_RES6,     { RESERVED FOR FUTURE USE     }
  84.   INF_NETMAIL_RES7,     { RESERVED FOR FUTURE USE     }
  85.   INF_NETMAIL_RES8,     { RESERVED FOR FUTURE USE     }
  86.   INF_NETMAIL_RES9      { RESERVED FOR FUTURE USE     }
  87. );
  88.  
  89. INF_HEADER =
  90. record
  91.   ver:byte;                       { Packet version type (currently 2)        }
  92.   readerfiles:array[1..5] of      { Files to be displayed by reader          }
  93.               array[1..13] of byte;
  94.   regnum:array[1..9] of byte;     { User's registration number               }
  95.   mashtype:byte;                  { Currently unused (door fills with 0)     }
  96.                                   {   Reserved for Blue Wave reader to store }
  97.                                   {   the compression type the packet uses.  }
  98.   loginname:array[1..43] of byte; { Name user types at BBS login             }
  99.   aliasname:array[1..43] of byte; { User's "other" name                      }
  100.   password:array[1..21] of byte;  { Password                                 }
  101.                                   {   All bytes should be the actually ASCII }
  102.                                   {   value plus 10.  Lame security, yes,    }
  103.                                   {   but it does prevent "TYPE *.INF" from  }
  104.                                   {   showing the password.                  }
  105.   passtype:byte;                  { Password type                            }
  106.                                   {   0=none 1=door 2=reader 3=both          }
  107.   zone:word;                      { Main network address of host BBS         }
  108.   net:word;                       {   (zone:net/node.point)                  }
  109.   node:word;
  110.   point:word;
  111.   sysop:array[1..41] of byte;     { Name of SysOp of host BBS                }
  112.   obsolete1:array[1..2] of byte;  { OBSOLETE -- DO NOT USE!                  }
  113.   systemname:array[1..65]         { Name of host BBS                         }
  114.              of byte;
  115.   maxfreqs:byte;                  { Max number of file requests allowed      }
  116.   obsolete2:array[1..6] of byte;  { OBSOLETE -- DO NOT USE!                  }
  117.   uflags:set of inf_uflags;       { Bit-mapped door options/toggles          }
  118.   keywords:array[1..10] of        { User's entire set of door keywords       }
  119.            array[1..21] of byte;
  120.   filters:array[1..10] of         { User's entire set of door filters        }
  121.           array[1..21] of byte;
  122.   macros:array[1..3] of           { User's door bundling command macros      }
  123.          array[1..80] of byte;
  124.   netmail_flags:set of            { Bit-mapped NetMail options               }
  125.                 inf_netmail_flags;
  126.   credits:word;                   { NetMail credits                          }
  127.   debits:word;                    { NetMail debits                           }
  128.   can_forward:byte;               { 0=Message forwarding not allowed         }
  129.   inf_header_len:word;            { Size of INF_HEADER structure             }
  130.   inf_areainfo_len:word;          { Size of INF_AREA_INFO structure          }
  131.   mix_structlen:word;             { Size of MIX_REC structure                }
  132.   fti_structlen:word;             { Size of FTI_REC structure                }
  133.   uses_upl_file:byte;             { If this field is not zero, the door that }
  134.                                   {   created this packet can receive reply  }
  135.                                   {   packets in the new *.UPL file format.  }
  136.                                   {   Otherwise, the old *.UPI and *.NET     }
  137.                                   {   files must be used.                    }
  138.   from_to_len:byte;               { The maximum length of the FROM: and TO:  }
  139.                                   {   fields that the host BBS can support.  }
  140.